var peticionPlanes = null;
 
function inicializa_xhr_planes() {
  if (window.XMLHttpRequest) {
    return new XMLHttpRequest(); 
  } else if (window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP"); 
  } 
}
 
function muestraTiposPlan() {
  if (peticionPlanes.readyState == 4) {
    if (peticionPlanes.status == 200) {
      var lista = document.getElementById("plan");
      var documento_xml = peticionPlanes.responseXML;
      var tiposPlan = documento_xml.getElementsByTagName("tiposPlan")[0];
      var losTiposPlan = tiposPlan.getElementsByTagName("tipoPlan");
      
      // lista.options[0] = new Option("Todos los planes");
      // Método 1: Crear elementos Option() y añadirlos a la lista
      
      for(i=0; i<=losTiposPlan.length; i++) {
        var codigo = losTiposPlan[i].getElementsByTagName("codigo")[0].firstChild.nodeValue;
        var nombre = losTiposPlan[i].getElementsByTagName("nombre")[0].firstChild.nodeValue;
        lista.options[i+1] = new Option(nombre, codigo);
      }
 
      // Método 2: crear el código HTML de <option value="">...</option> y utilizar el innerHTML de la lista
 
      /*
      var codigo_html = "";
      codigo_html += "<option>- selecciona -<\/option>";
      for(var i=0; i<lasProvincias.length; i++) {
        var codigo = lasProvincias[i].getElementsByTagName("codigo")[0].firstChild.nodeValue;
        var nombre = lasProvincias[i].getElementsByTagName("nombre")[0].firstChild.nodeValue;
        codigo_html += "<option value=\""+codigo+"\">"+nombre+"<\/option>";  
      }
 
      // La separacion siguiente se tiene que hacer por este bug de microsoft:
      // http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
      var esIE = navigator.userAgent.toLowerCase().indexOf('msie')!=-1;
      if(esIE) {
        document.getElementById("provincia").outerHTML = "<select id=\"provincia\">"+codigo_html+"</select>";
      }
      else {
        document.getElementById("provincia").innerHTML = codigo_html;    
      }
      */
    }
  }
}
 
function cargaSubtiposPlan() {
  var lista = document.getElementById("plan");
  var plan = lista.options[lista.selectedIndex].value;
  if(!isNaN(plan)) {
    peticionPlanes = inicializa_xhr_planes();
    if (peticionPlanes) {
      peticionPlanes.onreadystatechange = muestraSubtiposPlan;
      peticionPlanes.open("POST", "../xml/cargaSubtiposPlanXML.php?nocache=" + Math.random(), true);
      peticionPlanes.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      peticionPlanes.send("plan=" + plan);
    }
  }
}

//function cargaRoles() {
//  var lista = document.getElementById("plan");
//  var plan = lista.options[lista.selectedIndex].value;
//  if(!isNaN(plan)) {
//    peticionPlanes = inicializa_xhr_planes();
//    if (peticionPlanes) {
//      peticionPlanes.onreadystatechange = muestraSubtiposPlan;
//      peticionPlanes.open("POST", "../xml/cargaRolesXML.php?nocache=" + Math.random(), true);
//      peticionPlanes.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//      peticionPlanes.send("plan=" + plan);
//    }
//  }
//}
 
function muestraSubtiposPlan() {
  if (peticionPlanes.readyState == 4) {
    if (peticionPlanes.status == 200) {
        
      var lista = document.getElementById("subplan");
      var documento_xml = peticionPlanes.responseXML;
 
      var subtipos = documento_xml.getElementsByTagName("subtiposPlan")[0];
      var losSubtipos = subtipos.getElementsByTagName("subtipoPlan");
      
      // Borrar elementos anteriores
      lista.options.length = 0;
      
      //Comprobamos el nombre de la página PHP en la que nos encontramos
      var sPath = window.location.pathname;
      var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
      
//      if (sPage == "../planes/buscarPlan.php") {
          lista.options[0] = new Option("Todos",0);
//      } else {
//          lista.options[0] = new Option("- selecciona -");
//      }
      
      // Se utiliza el método de crear elementos Option() y añadirlos a la lista
      for(i=1; i<=losSubtipos.length; i++) {
        var codigo = losSubtipos[i-1].getElementsByTagName("codigo")[0].firstChild.nodeValue;
        var nombre = losSubtipos[i-1].getElementsByTagName("nombre")[0].firstChild.nodeValue;
        lista.options[i] = new Option(nombre, codigo);
      }
    }
  }
}

//function muestraRoles() {
//  if (peticionPlanes.readyState == 4) {
//    if (peticionPlanes.status == 200) {
//      var lista = document.getElementById("rol");
//      var documento_xml = peticionPlanes.responseXML;
// 
//      var subtipos = documento_xml.getElementsByTagName("roles")[0];
//      var losSubtipos = subtipos.getElementsByTagName("roles");
// 
//      // Borrar elementos anteriores
//      lista.options.length = 0;
//      
//      //Comprobamos el nombre de la página PHP en la que nos encontramos
//      var sPath = window.location.pathname;
//      var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
//      
//      if (sPage == "../planes/buscarPlan.php") {
//          lista.options[0] = new Option("Todos",0);
//      } else {
//          lista.options[0] = new Option("- selecciona -");
//      }
//      // Se utiliza el método de crear elementos Option() y añadirlos a la lista
//      for(i=1; i<=losSubtipos.length; i++) {
//        var codigo = losSubtipos[i-1].getElementsByTagName("codigo")[0].firstChild.nodeValue;
//        var nombre = losSubtipos[i-1].getElementsByTagName("nombre")[0].firstChild.nodeValue;
//        lista.options[i] = new Option(nombre, codigo);
//      }
//    }
//  }
//}
 
window.onpageshow = function(){
  peticionPlanes = inicializa_xhr_planes();
  if(peticionPlanes) {
    peticionPlanes.onreadystatechange = muestraTiposPlan;
    peticionPlanes.open("GET", "../xml/cargaTiposPlanXML.php?nocache="+Math.random(), true);
    peticionPlanes.send(null);
  }
  document.getElementById("plan").onchange = cargaSubtiposPlan; //cargaRoles;
}